import { defineStore } from "pinia";

import { getTodoListApi, addTodoApi } from "../../api";

import type { TodoList } from "../../api/types";

interface TodoListStore {
  todoList: TodoList;
}

export const useTodoListStore = defineStore("todoList", {
  state: (): TodoListStore => {
    return {
      todoList: [],
    };
  },
  getters: {},
  actions: {
    // 获取todoList
    async getTodoList() {
      const res = await getTodoListApi();
      this.todoList = res.data.data;
    },
    // 添加todo
    async addTodo(title: string) {
      // 更新服务器数据
      await addTodoApi(title);
      // 更新客户端数据(重新发送请求，获取列表展示)
      this.getTodoList();
    },
  },
});
